package com.soms.dao;

import com.soms.entity.Role;
import com.soms.util.PageInfo;

import java.sql.Connection;
import java.util.List;
import java.util.Map;

public interface RoleDao {

    /**
     * 根据条件查询总数据量
     *
     * @param connection
     * @param params
     * @return
     */
    int queryTotalCountByParams(Connection connection, Map<String, Object> params);

    /**
     * 根据查询条件和分页信息查询数据集合
     *
     * @param connection
     * @param page
     * @return
     */
    List<Role> queryPage(Connection connection, PageInfo<Role> page);

    /**
     * 新增一个角色
     *
     * @param connection
     * @param role
     * @return
     */
    int insert(Connection connection, Role role);

    /**
     * 通过id查询单个角色
     *
     * @param connection
     * @param id
     * @return
     */
    Role queryById(Connection connection, int id);

    /**
     * 更新一个角色
     *
     * @param connection
     * @param role
     * @return
     */
    int update(Connection connection, Role role);

    /**
     * 通过id删除单个角色
     *
     * @param connection
     * @param id
     * @return
     */
    int deleteById(Connection connection, int id);

    /**
     * 获取所有的角色
     *
     * @param connection
     * @return
     */
    List<Role> getAllRole(Connection connection);
}
